package com.sjh.net

import android.app.Dialog
import io.reactivex.disposables.Disposable
import java.lang.ref.WeakReference
import java.util.concurrent.ConcurrentHashMap

/**
 * 网络请求的一些封装
 * Created by Extends on 2017/10/19 10:19
 */
class NetManager {
    companion object {
        val disposableMap = ConcurrentHashMap<String,WeakReference<Disposable?>?>()
        val dialogMap = ConcurrentHashMap<String,WeakReference<Dialog?>?>()
    }
}

/**
 * 请求方法枚举
 */
enum class Method {
    GET, POST, DELETE, PUT, PATCH
}

/**
 * 使用缓存策略
 */
enum class UseCacheType{
    /**
     * 如果有缓存，则只加载缓存
     */
    ONLY_CACHE,
    /**
     * 如果有缓存，则先加载缓存数据，再请求网络数据
     */
    CACHE_NET
}

/**
 * 同样的请求的处理方式
 */
enum class RequestType{
    /**
     * 阻止之后的请求
     */
    STOP_LATER,
    /**
     * 取消之前的请求，开启之后的请求
     */
    STOP_BEFORE,
    /**
     * 不处理
     */
    NO_PROCESSING
}